1. Field of the Invention
This invention relates to broadcast transmission.
2. Related Art
The ability to efficiently provide data to very large numbers of users is becoming increasingly important as the use of computer networks and web-based services grows.
Broadcast distribution, where communication is one-way only, is a method for distributing data to very large numbers of users. For a particular set of data, such as data comprising a web page, a broadcast server repeats the data a finite number of times. The rate at which the server transmits the data is a measure of the bandwidth of the data.
A communication medium has a limited amount of bandwidth. Bandwidth is valuable, for reasons including human desire for a fast response, increasing consumer usage of on-line services and data, and increasing types and variety of on-line data. In addition, limited resources available on inexpensive consumer computing devices can impose a limit on the amount of bandwidth that such devices can process.
The bandwidth on a communication medium can be divided into frequency ranges. In current enhanced TV technology, the communication medium is a shared cable or wire frequency, and a channel is defined by its center frequency and width, with the width and modulation type determining the total number of bits per second (total bandwidth) that the channel can carry. For example, currently a broadcast wire may carry 40 to 50 physical channels, with a channel carrying a video signal component, an audio signal component, and data component. Furthermore, a digital channel can be modulated using Quadrature Amplitude Modulation (QAM 64) and thus can contain several video, audio, and data streams. The data component can carry data including data comprising web pages. MPEG protocols are sometimes used.
In digital satellite transmission, each satellite has a cluster of transponders. In recent satellite technology, each transponder can carry 10 to 20 physical frequencies, and a satellite will have many transponders. Thus, the amount of data and number of channels possible is large.
Consumer computing devices currently can listen to only a few physical channels at a time.
The time it takes to transmit the data for a given web page or other data object is called a cycle. It is the size of the data object divided by the bandwidth used to send the object. For instance, a 150 Kbit web page that is sent at a bandwidth of 1000 Kbits per second has a cycle of 0.15 seconds. It is desirable for a cycle to be short, which requires more bandwidth. It is also desirable for a channel to carry a large of amount of web pages or other data, which also consumes bandwidth.
A problem in the known art is that some implementations of broadcast transmission require more than one cycle for the receiver to obtain a complex set of data, usually due to the requirement that objects must be received in an ordered process. This results in longer response times.
Data on an enhanced TV channel often can be related to the content of the video on the channel. For example web pages of interest to children can be available on the same physical channel as the Disney video channel. Alternatively or additionally, a channel can carry data having unrelated content. An example is a channel with child-oriented video programming carrying a home banking web page.
A way to achieve broadcast transmission is to transmit the name of the web page and the data comprising the web page together. This can be achieved by putting the web page name into the header of each packet. Using this method, the receiver not only must monitor all the data transmitted on the channel, but also store the entire packet locally in case it may be needed in the future. In practical application, to assure acceptable response time, the receiver stores all the data so that it is available for immediate access. A disadvantage of this method is it that for high data rates it requires a powerful processor and significant buffer at the client. (Digital television carries enhancing information at a rate many orders of magnitude greater than analog television.) A further disadvantage is that if there is not enough processing power or buffer, the system will fail. Another disadvantage is that limitations on the amount of data that can be buffered imposes a limit on the amount of broadcast spectrum the user can access.
Another method also treats the web page as a file. The name of the web page is not sent in each packet header but instead a map of the name to the address in the data stream is stored in the receiver, is broadcast, or otherwise made available to the receiver. (The map is dynamic.) When a user requests a desired data object, such as a web page, the receiver looks up the name and obtains the location of the data. Because the receiver need not process all of the actual data, but only the references to the data, this method requires relatively little processing capability and memory. It is possible to store many names, thereby achieving wider spectrum coverage.
However, this method has the disadvantage that it may require extensive repetition of data. Often two different web pages contain some components that are identical. For instance, all Disney web pages may include the Disney logo. Or multiple web pages may carry an identical banner advertisement. (A moderately complex web page may have 40-50 image files.) Using file-oriented methods wastes bandwidth because bandwidth must be consumed for each instance of this common data. For example, if a logo with a size of 100 Kbit appears in 50 web pages, and each web page is sent at a bandwidth of 100 Kbit/s, the total bandwidth used by the logo data is 5000 Kbits/s, which wastes 4900 Kbits/s. However, no advantage is realized from this large amount of bandwidth consumed by the logo data, as each instance of the logo is associated only with the file it is transmitted in.
It would also be possible to use a method in which web pages are treated as consisting of sub-files, giving a name to each sub-file, and enclosing the name of each sub-file in a master file that is also sent. This method would encounter problems already discussed, such as needing to first retrieve the master file, and needing to read the bytes of each sub-file in order. This method would be cumbersome for a programmer to implement. It would require the data to be sent at a higher rate to achieve the desired performance as a one-step receive system.
It would be advantageous for a user to be able to address spectrum that is carried on channels other than the one his receiver is tuned to. For instance, it would be convenient for a user to be able to jump to his home banking web page even if he has not been watching the video channel the web page is carried on, i.e. regardless of what channel his receiver is tuned to.
It is also desirable to provide a method of serving data on broadcast media that provides access to data in a known period of time, that uses bandwidth efficiently, that works with a receiver having relatively limited resources, and that provides access to a large part of the broadcast spectrum. It is also desirable to address broadcast objects across alternate transport protocols, such as MPEG and multicast IP, as well as alternate high level protocols such as Advanced Television Enhancement Forum standard (“ATVEF”, see www.atvef.com) and DSM-CC. It is further desirable that this method be easy to implement for the content provider, and provide flexibility and certainty to the content provider in creating its programming.
These advantages are achieved in the invention which uses low-level objects and organizes data and data references in a multi-level design.